package com.thinkcube.edutainment.domain.data;

import java.util.ArrayList;
import java.util.List;

import android.os.Parcel;
import android.os.Parcelable;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;

@JsonIgnoreProperties(ignoreUnknown = true)
public class TeacherData {
	@JsonProperty("id")
	String id = "";
	@JsonProperty("user_name")
	String userName = "";
	@JsonProperty("first_name")
	String firstName = "";
	@JsonProperty("last_name")
	String lastName = "";
	@JsonProperty("address_line_one")
	String addressLineOne = "";
	@JsonProperty("address_line_two")
	String addressLineTwo = "";
	@JsonProperty("address_line_three")
	String addressLineThree = "";
	@JsonProperty("email")
	String email = "";
	@JsonProperty("mobile_no")
	String mobileNo = "";
	@JsonProperty("gender")
	String gender = "";
	@JsonProperty("dateof_birth")
	String dateofBirth = "";
	@JsonProperty("nic")
	String nic = "";
	@JsonProperty("created_date")
	String createdDate = "";
	@JsonProperty("modified_date")
	String modifiedDate = "";
	@JsonProperty("last_login")
	String lastLogin = "";

	@JsonProperty("profile_image")
	String teacherProfil = "";

	@JsonProperty("courses")
	List<CourseData> courseDataList;

	public String getId() {
		return this.id;
	}
	
	

	public String getTeacherProfil() {
		return teacherProfil;
	}



	public void setTeacherProfil(String teacherProfil) {
		this.teacherProfil = teacherProfil;
	}



	public void setId(String id) {
		this.id = id;
	}

	public String getUserName() {
		return this.userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String getFirstName() {
		return this.firstName;
	}

	public void setFirstName(String firstName) {
		this.firstName = firstName;
	}

	public String getLastName() {
		return this.lastName;
	}

	public void setLastName(String lastName) {
		this.lastName = lastName;
	}

	public String getAddressLineOne() {
		return this.addressLineOne;
	}

	public void setAddressLineOne(String addressLineOne) {
		this.addressLineOne = addressLineOne;
	}

	public String getAddressLineTwo() {
		return this.addressLineTwo;
	}

	public void setAddressLineTwo(String addressLineTwo) {
		this.addressLineTwo = addressLineTwo;
	}

	public String getAddressLineThree() {
		return this.addressLineThree;
	}

	public void setAddressLineThree(String addressLineThree) {
		this.addressLineThree = addressLineThree;
	}

	public String getEmail() {
		return this.email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getMobileNo() {
		return this.mobileNo;
	}

	public void setMobileNo(String mobileNo) {
		this.mobileNo = mobileNo;
	}

	public String getGender() {
		return this.gender;
	}

	public void setGender(String gender) {
		this.gender = gender;
	}

	public String getDateofBirth() {
		return this.dateofBirth;
	}

	public void setDateofBirth(String dateofBirth) {
		this.dateofBirth = dateofBirth;
	}

	public String getNic() {
		return this.nic;
	}

	public void setNic(String nic) {
		this.nic = nic;
	}

	public String getCreatedDate() {
		return this.createdDate;
	}

	public void setCreatedDate(String createdDate) {
		this.createdDate = createdDate;
	}

	public String getModifiedDate() {
		return this.modifiedDate;
	}

	public void setModifiedDate(String modifiedDate) {
		this.modifiedDate = modifiedDate;
	}

	public String getLastLogin() {
		return this.lastLogin;
	}

	public void setLastLogin(String lastLogin) {
		this.lastLogin = lastLogin;
	}

	public List<CourseData> getCourseDataList() {
		return this.courseDataList;
	}

	public void setCourseDataList(List<CourseData> courseDataList) {
		this.courseDataList = courseDataList;
	}

	protected TeacherData(Parcel in) {
		id = in.readString();
		userName = in.readString();
		firstName = in.readString();
		lastName = in.readString();
		addressLineOne = in.readString();
		addressLineTwo = in.readString();
		addressLineThree = in.readString();
		email = in.readString();
		mobileNo = in.readString();
		gender = in.readString();
		dateofBirth = in.readString();
		nic = in.readString();
		createdDate = in.readString();
		modifiedDate = in.readString();
		lastLogin = in.readString();

		teacherProfil = in.readString();
		courseDataList = new ArrayList<CourseData>();
		in.readList(courseDataList, null);
	}

	public TeacherData() {
	}

	public int describeContents() {
		return 0;
	}

	public void writeToParcel(Parcel dest, int flags) {
		dest.writeString(id);
		dest.writeString(userName);
		dest.writeString(firstName);
		dest.writeString(lastName);
		dest.writeString(addressLineOne);
		dest.writeString(addressLineTwo);
		dest.writeString(addressLineThree);
		dest.writeString(email);
		dest.writeString(mobileNo);
		dest.writeString(gender);
		dest.writeString(dateofBirth);
		dest.writeString(nic);
		dest.writeString(createdDate);
		dest.writeString(modifiedDate);
		dest.writeString(lastLogin);
		dest.writeList(courseDataList);
		dest.writeString(teacherProfil);

	}

	public static final Parcelable.Creator<TeacherData> CREATOR = new Parcelable.Creator<TeacherData>() {
		public TeacherData createFromParcel(Parcel in) {
			return new TeacherData(in);
		}

		public TeacherData[] newArray(int size) {
			return new TeacherData[size];
		}
	};
}